package com.adinall.dsp.core.utils;

import java.util.Collection;
import java.util.Map;

/**
 * 校验工具类
 * 
 * @author 高万超
 * @version V1.0.0 $ 2016年9月18日 下午4:00:45
 */
public final class CheckUtils {

    /**
     * 对象是否为空
     * 
     * @param obj
     *            对象
     * @return boolean TRUE-空;FALSE-非空
     */
    public static boolean isNull(Object obj) {
        return obj == null;
    }

    /**
     * 是否为空字符串
     * 
     * @param str
     *            字符串
     * @return boolean TRUE-空字符串;FALSE-非空字符串
     */
    public static boolean isEmpty(String str) {
        return isNull(str) || str.length() == 0;
    }

    /**
     * 是否为空集合
     * 
     * @param coll
     *            集合
     * @return boolean TRUE-空集合;FALSE-非空集合
     */
    public static boolean isEmpty(Collection<?> coll) {
        return isNull(coll) || coll.size() == 0;
    }

    /**
     * 是否为空集合
     * 
     * @param map
     *            集合
     * @return boolean TRUE-空集合;FALSE-非空集合
     */
    public static boolean isEmpty(Map<?, ?> map) {
        return isNull(map) || map.size() == 0;
    }

    /**
     * 是否为空数组
     * 
     * @param arr
     *            数组
     * @return boolean TRUE-空数组;FALSE-非空数组
     */
    public static boolean isEmpty(Object[] arr) {
        return isNull(arr) || arr.length == 0;
    }

    public static boolean isEmpty(StringBuffer buf) {
        return isNull(buf) || buf.length() == 0;
    }
}